<?php
/**
 * 地址区域信息
 */
class Area{
    /**
     * @var integer $id 标准行政区域代码.参考:http://www.stats.gov.cn/tjbz/xzqhdm/t20080215_402462675.htm
     */
	var  $id;
    /**
     * @var string $type 区域类型. 
     * <br/>area区域 1:country/国家;2:province/省/自治区/直辖市;3:city/地区(省下面的地级市);
     * 4:district/县/市(县级市)/区;abroad:海外. 
     * <br/>比如北京市的area_type = 2,朝阳区是北京市的一个区,所以朝阳区的area_type = 4. 
     */  
	var  $type;
    /**
     * @var string $name 地域名称.如北京市,杭州市,西湖区,每一个area_id 都代表了一个具体的地区
     */  
	var  $name ;
    /**
     * @var integer $parent_id 父节点区域标识.如北京市的area_id是110100,
     * 朝阳区是北京市的一个区,所以朝阳区的parent_id就是北京市的area_id
     */  
	var  $parent_id;
    /**
     * @var string $zip 具体一个地区的邮编 
     */  
	var  $zip;
}
/**
 *private class,not use
 */
class _AreaList{
	var $areas=array();
 /**
   * @var array $_DataLayerout 数据布局(系统属性)，varclass：本类中property是对象或对象数组的类及子类class
   */
  public static $_DataLayerout=array('varclass'=>array('areas'=>'Area'));	
	
}

class LogisticCompany{
	/**
	 * @var integer id 物流公司标识 
	 */
	var $id;
	/**
	 * @var string $code 物流公司代码
	 */	
	var $code;
	/**
	 * @var string $name 物流公司简称
	 */	
	var $name;
}
/**
 *private class,not use
 */
class _LogisticCompanyList{
	var $logistics_companies=array();	
 /**
   * @var array $_DataLayerout 数据布局(系统属性)，varclass：本类中property是对象或对象数组的类及子类class
   */
  public static $_DataLayerout=array('varclass'=>array('logistics_companies'=>'LogisticCompany'));	
	
}
class Shipping{
  /** 
  *@var integer $tid 交易ID。 是否隐私：Y
  */ 
  var $tid;
  /** 
  *@var string $seller_nick 卖家昵称。 是否隐私：N
  */ 
  var $seller_nick;
  /** 
  *@var string $buyer_nick 买家昵称。 是否隐私：N
  */ 
  var $buyer_nick;
  /** 
  *@var string $delivery_start 预约取货开始时间。 是否隐私：N
  */ 
  var $delivery_start;
  /** 
  *@var string $delivery_end 预约取货结束时间。 是否隐私：N
  */ 
  var $delivery_end;
  /** 
  *@var string $out_sid 运单号.具体一个物流公司的运单号码。 是否隐私：N
  */ 
  var $out_sid;
  /** 
  *@var string $item_title 货物名称。 是否隐私：Y
  */ 
  var $item_title;
  /** 
  *@var string $receiver_name 收件人姓名。 是否隐私：Y
  */ 
  var $receiver_name;
  /** 
  *@var string $receiver_phone 收件人电话。 是否隐私：Y
  */ 
  var $receiver_phone;
  /** 
  *@var string $receiver_mobile 收件人手机号码。 是否隐私：Y
  */ 
  var $receiver_mobile;
  /** 
  *@var Location $location 收件人地址信息。 是否隐私：Y
  */ 
  var $location;
  /** 
  *@var string $status 物流订单状态， 是否隐私：Y
  *<br/>可选值:CREATED(订单已创建)，RECREATED(订单重新创建)，CANCELLED(订单已取消)，CLOSED(订单关闭)，
  *<br/>SENDING(等候发送给物流公司)，ACCEPTING(已发送给物流公司,等待接单)，
  *ACCEPTED(物流公司已接单)，REJECTED(物流公司不接单)，PICK_UP(物流公司揽收成功)，
  *PICK_UP_FAILED(物流公司揽收失败)，LOST(物流公司丢单)，
  *<br/>REJECTED_BY_RECEIVER(对方拒签)，ACCEPTED_BY_RECEIVER(对方已签收)。
  */ 
  var $status;
  /** 
  *@var string $type 物流方式.
  *可选值:free(卖家包邮),post(平邮),express(快递),ems(EMS)。 是否隐私：N
  */ 
  var $type;
  /** 
  *@var string $freight_payer 谁承担运费.
  *可选值:buyer(买家承担),seller(卖家承担运费)。 是否隐私：Y
  */ 
  var $freight_payer;
  /** 
  *@var string $seller_confirm 卖家是否确认发货.可选值:yes(是),no(否)。 是否隐私：N
  */ 
  var $seller_confirm;
  /** 
  *@var string $company_name 物流公司名称。 是否隐私：N
  */ 
  var $company_name;
  /** 
  *@var string $created 订单创建时间。 是否隐私：N
  */ 
  var $created;
  /** 
  *@var string $modified 订单修改时间。 是否隐私：N
  */ 
  var $modified;	
}
/**
 *批量查询物流订单结果
 */
class ShippingResult{
    /**
     * @var integer  $totalResults 搜索到的物流订单列表总数
    */	
	var $total_results ;
    /**
     * @var array  $shippings 获取的物流订单详情列表，
     * 返回的Shipping包含的具体信息为入参fields请求的字段信息，类型@see Shipping
     */	
	var $shippings =array();
 /**
   * @var array $_DataLayerout 数据布局(系统属性)，varclass：本类中property是对象或对象数组的类及子类class
   */
  public static $_DataLayerout=array('varclass'=>array('shippings'=>'Shipping','location'=>'Location'));	
	
}
/**
 *批量查询物流订单参数
 */
class ShippingParam{
    /**
     * @var integer $tid 交易ID，如果加入tid参数的话,不用传其他的参数,
     * 但是仅会返回一条物流订单信息
     */
	var $tid;
    /**
     * @var string $buyer_nick 买家昵称
     */
	var $buyer_nick;
    /**
     * @var string $status 物流状态，可查看数据结构Shipping中的status字段
     */
	var $status;	
    /**
     * @var string $seller_confirm 卖家是否发货，可选值:yes(是),no(否).如:yes
     */
	var $seller_confirm;	
    /**
     * @var string $receiver_name 收货人姓名
     */
	var $receiver_name;		
    /**
     * @var string $start_created 创建时间开始.格式:yyyy-MM-dd HH:mm:ss
     */
	var $start_created;		
    /**
     * @var string $end_created 创建时间结束.格式:yyyy-MM-dd HH:mm:ss
     */
	var $end_created;			
    /**
     * @var string $freight_payer 谁承担运费，可选值:buyer(买家),seller(卖家).如:buyer
     */
	var $freight_payer;
	/**
	 * @var string $type 物流方式，可选值:post(平邮),express(快递),ems(EMS).如:post
	 */
	var $type;
	/**
	 * @var integer  $page_no 页码.该字段没传 或 值<1 ,则默认page_no为1
	 */
	var $page_no;
	/**
	 * @var integer  $page_size 每页条数.该字段没传 或 值<1 ，则默认page_size为40，最大值100 
	 */
	var $page_size; 		
}

/**
 * 发货处理参数
 */
class TaobaoDeliverySendBaseParam{
	/**
	 * @var integer $tid 交易ID
	 */
	var $tid;
	/**
	 * @var string $order_type 发货类型，
	 * <br/>可选: delivery_needed(物流订单发货),virtual_goods(虚拟物品发货),cod(货到付款)。 
	 * 注:选择virtual_goods类型进行发货的话下面的参数可以不需填写.
	 */
	var $order_type;
	/**
	 * @var string $company_code 物流公司代码.如"POST"就代表中国邮政,"ZJS"就代表宅急送.
	 * 调用 taobao.logistics.companies.get 获取。如传入的代码非淘宝官方物流合作公司，
	 * 默认是“其他”物流的方式，在淘宝不显示物流具体进度，故传入需谨慎。如果orderType为delivery_needed，则必传 
	 */	
	var $company_code;	
	/**
	 * @var string $seller_name 卖家姓名。如果orderType为delivery_needed，则必传 
	 */		
	var $seller_name;		
	/**
	 * @var string $seller_area_id 卖家所在地国家公布的标准地区码.
	 * 参考:http://www.stats.gov.cn/tjbz/xzqhdm/t20080215_402462675.htm
	 * 或者调用taobao.areas.get获取
	 */	
	var $seller_area_id;	
	/**
	 * @var string $seller_address 卖家地址(详细地址)，如:***街道***门牌,省市区不需要提供。如果orderType为delivery_needed，则必传 
	 */	
	var $seller_address;
	/**
	 * @var string $seller_zip 卖家邮编。如果orderType为delivery_needed，则必传 
	 */	
	var $seller_zip;
	/**
	 * @var string $seller_phone 卖家固定电话.包含区号,电话,分机号,中间用 "-"; 卖家固定电话和卖家手机号码,必须填写一个
	 */	
	var $seller_phone;	
	/**
	 * @var string $seller_mobile 卖家手机号码; 卖家固定电话和卖家手机号码,必须填写一个
	 */	
	var $seller_mobile;		
}
class DeliverySendParam extends TaobaoDeliverySendBaseParam{
	/**
	 * @var string $out_sid 运单号.具体一个物流公司的真实运单号码。
	 * 淘宝官方物流会校验，请谨慎传入；若company_code中传入的代码非淘宝官方物流合作公司，此处运单号不校验。
	 * 如果orderType为delivery_needed，则必传 
	 */	
	var $out_sid;	
	/**
	 * @var string $memo 卖家备注.最大长度为250个字符。如果orderType为delivery_needed，则必传 
	 */	
	var $memo;				
}
class TaobaoDeliveryCodSendParam  extends TaobaoDeliverySendBaseParam{
	/**
	 * @var string $fetcher_name 联系人名称
	 */		
	var $fetcher_name;		
	/**
	 * @var string $fetcher_area_id 取货地国家公布的标准地区码.
	 * 参考:http://www.stats.gov.cn/tjbz/xzqhdm/t20080215_402462675.htm
	 * 或者调用taobao.areas.get获取
	 */	
	var $fetcher_area_id;	
	/**
	 * @var string $fetcher_address 物流公司取货地址.XXX街道XXX门牌,省市区不需要提供.
	 * 目的在于让物流公司能清楚的知道在哪取货。
	 */	
	var $fetcher_address;
	/**
	 * @var string $fetcher_zip 取货地邮编
	 */	
	var $fetcher_zip;
	/**
	 * @var string $fetcher_phone 取货地固定电话.包含区号,电话,分机号,中间用 " – "; 
	 * 取货地固定电话和取货地手机号码,必须填写一个.
	 */	
	var $fetcher_phone;	
	/**
	 * @var string $fetcher_mobile 取货地手机号码
	 */	
	var $fetcher_mobile;	
}
class TaobaoLogisticsPartner{
	/**
	 * @var string $account_no 如：20880015025101670156
	 */
	var $account_no;
	/**
	 * @var string $company_code 物流公司代码 如：YTO
	 */	
	var $company_code;
	/**
	 * @var integer $company_id 如：101
	 */	
	var $company_id;
	/**
	 * @var string $full_name  如：上海圆通速递有限公司
	 */	
	var $full_name;	
	/**
	 * @var string $company_name 如：圆通速递 
	 */	
	var $company_name;	
	/**
	 * @var string $wangwang_id 如：圆通客户服务
	 */	
	var $wangwang_id;			
}
/**
 *private class,not use
 */
class _TaobaoLogisticsPartner{
	var $partner;	
}

class _TaobaoLogisticsPartnerList{
	var $logistics_partners=array();	
 /**
   * @var array $_DataLayerout 数据布局(系统属性)，varclass：本类中property是对象或对象数组的类及子类class
   */
  public static $_DataLayerout=array('varclass'=>array(
       'logistics_partners'=>'_TaobaoLogisticsPartner','partner'=>'TaobaoLogisticsPartner'));	
}
